package com.ipartek.formacion.gestformwww.modelo.interfaces;

import com.ipartek.formacion.gestformwww.modelo.beans.Curso;
import com.ipartek.formacion.gestformwww.modelo.beans.FiltroCurso;
import com.ipartek.formacion.gestformwww.modelo.beans.excepciones.GestorFormacionExcepcion;
import java.util.ArrayList;

/**
 * Métodos de la la clase SQLServerCursoDAO que implementen esta interfaz.
 * @author Sara y Xarles
 */
public interface ICursoDAO extends IDAO {

    public int contarCursos(FiltroCurso filtro) throws GestorFormacionExcepcion;//dbaykbp.n

    public int crearCurso(Curso curso) throws GestorFormacionExcepcion;

    public void eliminarCurso(int idCurso) throws GestorFormacionExcepcion;
//    public void eliminarCurso(ArrayList aIdCurso) throws GestorFormacionExcepcion;

    public ArrayList getTodosCursos() throws GestorFormacionExcepcion;

    public ArrayList<Curso> listarCursos(FiltroCurso filtro) throws GestorFormacionExcepcion;//dbaykbp.n

    public ArrayList<String> listarLugares() throws GestorFormacionExcepcion;//dbaykbp.n

    public int modificarCurso(Curso curso) throws GestorFormacionExcepcion;

    public Curso visualizarCurso(int idCurso) throws GestorFormacionExcepcion;

    public ArrayList<Curso> listarCursosDeAlumno(int idAlumno) throws GestorFormacionExcepcion;//Sara y Alvaro

    public boolean existecurso(int idCurso) throws GestorFormacionExcepcion;

    public ArrayList getTodosCursosActivos() throws GestorFormacionExcepcion;

    public ArrayList getMailsAlumnosCurso(int idCurso) throws GestorFormacionExcepcion;
}
